#ifndef LOCAL_SEARCH_H
#define LOCAL_SEARCH_H

#include "algorithm.h"

#include <cstdlib>
#include <list>
#include <ctime>
#include <cmath>
#include <ctime>
#include <cfloat>

using std::list;

class LocalSearch : public Algorithm{
	public:
		LocalSearch( const char* );
		~LocalSearch();
		
		int* initHeuristic();
		int* getNeighbor(int*);
		int* getNeighbor2(int*);
		int getSolutionQuality(int*);
		void copySolution(int*, int*);
		int getQualityOfBest();
		
		void solve();
		void printSolution(int*);
	private:
		int* Best;
		int quality_best;
		
};

#include "local_search.cpp"

#endif